package com.cskaoyan.mapper;

import com.cskaoyan.bean.ReceiveAddress;
import com.cskaoyan.bean.ReceiveAddressExample;
import com.cskaoyan.bo.ReceiveAddressBO;
import com.cskaoyan.vo.ReceiveAddressVO;

import com.cskaoyan.wx.bo.AddressSaveBO;
import com.cskaoyan.wx.vo.AddressRegionVO;
import com.cskaoyan.wx.vo.ReceiveAddressDetailVO;
import com.cskaoyan.wx.vo.ReceiveAddressTempVO;
import com.cskaoyan.wx.vo.ReceiveAddressVO2;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ReceiveAddressMapper {
    long countByExample(ReceiveAddressExample example);

    int deleteByExample(ReceiveAddressExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(ReceiveAddress record);

    int insertSelective(ReceiveAddress record);

    List<ReceiveAddress> selectByExample(ReceiveAddressExample example);

    ReceiveAddress selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") ReceiveAddress record, @Param("example") ReceiveAddressExample example);

    int updateByExample(@Param("record") ReceiveAddress record, @Param("example") ReceiveAddressExample example);

    int updateByPrimaryKeySelective(ReceiveAddress record);

    int updateByPrimaryKey(ReceiveAddress record);

    List<ReceiveAddressVO.ItemsBean> getReceiveAddress(@Param("receiveAddressBO") ReceiveAddressBO receiveAddressBO);

    int getCountAddress(@Param("receiveAddressBO") ReceiveAddressBO receiveAddressBO);

    List<ReceiveAddressTempVO> getAddressList(Integer user_id);

    ReceiveAddressDetailVO getAddressDetail(Integer id);


    List<AddressRegionVO> getRegionList(Integer pid);

    void deleteAddress(Integer id);
}